<?php
/*
 *	Autor: Augusto Rabelo Azevedo Barbosa 
 *	Email: augustogcl@gmail.com
 *	Versão: 3.0.2
 *
 *	Data da geração do arquivo: 04-11-2014 as 16:23:57
 *	Referente ao banco de dados: trct
 */

class Tipocnd_Model extends CI_Model {

	private $tipoCnd_id;
	private $tipoCnd_descricao;
	private $tipoCnd_validade;
	private $tipoCnd_ambito;

	public function __construct($tipoCnd_id="",$tipoCnd_descricao="",$tipoCnd_validade="",$tipoCnd_ambito="") {
		$this->tipoCnd_id = $tipoCnd_id;
		$this->tipoCnd_descricao = $tipoCnd_descricao;
		$this->tipoCnd_validade = $tipoCnd_validade;
		$this->tipoCnd_ambito = $tipoCnd_ambito;
	}



	// METODOS GETS


	public function getTipoCnd_id() {
		return $this->tipoCnd_id;
	}

	public function getTipoCnd_descricao() {
		return $this->tipoCnd_descricao;
	}

	public function getTipoCnd_validade() {
		return $this->tipoCnd_validade;
	}

	public function getTipoCnd_ambito() {
		return $this->tipoCnd_ambito;
	}



	// METODOS SETS


	public function setTipoCnd_id($tipoCnd_id) {
		$this->tipoCnd_id = $tipoCnd_id;
	}

	public function setTipoCnd_descricao($tipoCnd_descricao) {
		$this->tipoCnd_descricao = $tipoCnd_descricao;
	}

	public function setTipoCnd_validade($tipoCnd_validade) {
		$this->tipoCnd_validade = $tipoCnd_validade;
	}

	public function setTipoCnd_ambito($tipoCnd_ambito) {
		$this->tipoCnd_ambito = $tipoCnd_ambito;
	}

	public function inserir($tipocnd) {
			if($this->db->insert('tipocnd',$tipocnd)){
			 set_notificacao(array(0=>array('tipo'=>1,'mensagem'=>'Dados Salvos com sucesso!')));
			 return $this->db->insert_id();
			}else{

			 set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
			 return false;
		}

	}

	public function editar($tipocnd,$tipoCnd_id) {
			if($this->db->where('tipoCnd_id',$tipoCnd_id)->update('tipocnd',$tipocnd)){
			 set_notificacao(array(0=>array('tipo'=>1,'mensagem'=>'Dados Salvos com sucesso!')));
			 return $tipoCnd_id;
			}else{
			 set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
			 return false;
		}

	}
        
        public function verificaTipoCnd($tipocnd_id){        
            $dados = $this->db
                ->where('pessoascnd_tipo', $tipocnd_id)
                ->select('count(pessoascnd_tipo) as total')			 
                ->get('pessoascnd')
                ->row();        
            return $dados;        
        }
        
	public function excluir($tipoCnd_id) {
            
            $quantidadeTipoCnd = $this->verificaTipoCnd($tipoCnd_id);
            
            if($quantidadeTipoCnd->total > 0){
                set_notificacao(array(0 => array('tipo' => 5, 'mensagem' => 'Este tipo de CND não pode ser excluído porque há certidões vinculadas a ele!')));
                return false;
            }
        
            if($this->db->where('tipoCnd_id',$tipoCnd_id)->delete('tipocnd')){
                set_notificacao(array(0=>array('tipo'=>4,'mensagem'=>'Dados Salvos com sucesso!')));
            }else{
                set_notificacao(array(0=>array('tipo'=>2,'mensagem'=>'Dados Não salvos com sucesso!')));
                return false;
            }
        }

	public function getDados($tipoCnd_id) {
		 $dados = $this->db 
			 ->where('tipoCnd_id',$tipoCnd_id)
			 ->get('tipocnd',$config['per_page'],$this->uri->segment(3))
		 ->row();
		 return $dados;
	}

	public function getDadosTodos() {
		 $dados = $this->db 
                         ->join('ambitocnd','ambitocnd_id = tipoCnd_ambito')
			 ->get('tipocnd')
		 ->result();
		 return $dados;
	}
        
        public function getAmbito(){
            $dados = $this->db
                    ->get('ambitocnd')
                    ->result();            
            return $dados;            
        }
        
        public function getDadosTipoAmbito($ambito_id) {
		 $dados = $this->db 
			 ->where('tipoCnd_ambito',$ambito_id)
			 ->get('tipocnd')
		 ->result();
		 return $dados;
	}
        
        

}
?>